diff --git a/tools/binman/ftest.py b/tools/binman/ftest.py
index 8671797..75e9a21 100644
--- a/tools/binman/ftest.py
+++ b/tools/binman/ftest.py
@@ -172,7 +172,7 @@
         return control.Binman(options, args)
 
     def _DoTestFile(self, fname, debug=False, map=False, update_dtb=False,
-                    entry_args=None, images=None):
+                    entry_args=None, images=None, use_real_dtb=False):
         """Run binman with a given test file
 
         Args:
@@ -193,6 +193,8 @@
             args.append('-m')
         if update_dtb:
             args.append('-up')
+        if not use_real_dtb:
+            args.append('--fake-dtb')
         if entry_args:
             for arg, value in entry_args.iteritems():
                 args.append('-a%s=%s' % (arg, value))
